package model

import "github.com/gogf/gf/v2/os/gtime"

type FileUploadOutput struct {
	RelativePath string `json:"relative_path" dc:"文件相对路径，数据库缓存的路径"`
	AbsolutePath string `json:"absolute_path" dc:"文件绝对路径"`
	URL          string `json:"url" dc:"文件访问的URL"`
}

type FileCategoryAddInput struct {
	ParentId int
	Name     string
}

type FileCategoryEditInput struct {
	ParentId int
	Name     string
}
type FileCategoryTreeNode struct {
	Id       int                    `json:"id"`
	ParentId int                    `json:"parent_id"`
	Name     string                 `json:"name"`
	Children []FileCategoryTreeNode `json:"children"`
}

type FileListInput struct {
	FileCategoryIds []int
	OriginalName    string
	Page            int
	PageSize        int
}

type FileListOutput struct {
	Id          uint64      `json:"id"           orm:"id"           ` //
	CategoryId  int64       `json:"category_id"  orm:"category_id"  ` // 文件分类
	StorageType int         `json:"storage_type" orm:"storage_type" ` // 文件存储类型：1-本地；2-阿里云；3-腾讯云
	Name        string      `json:"name"         orm:"name"         ` // 文件名
	ContentType string      `json:"content_type" orm:"content_type" ` // 文件类型
	Extension   string      `json:"extension"    orm:"extension"    ` // 扩展名
	Size        uint64      `json:"size"         orm:"size"         ` // 附件大小：单位-字节（B）
	Path        string      `json:"path"         orm:"path"         ` // 密码
	CreatedBy   uint64      `json:"created_by"   orm:"created_by"   ` // 创建人
	UpdatedBy   uint64      `json:"updated_by"   orm:"updated_by"   ` // 更新人
	DeletedBy   uint64      `json:"deleted_by"   orm:"deleted_by"   ` // 删除人
	CreatedAt   *gtime.Time `json:"created_at"   orm:"created_at"   ` // 创建时间
	UpdatedAt   *gtime.Time `json:"updated_at"   orm:"updated_at"   ` // 更新时间
	DeletedAt   *gtime.Time `json:"deleted_at"   orm:"deleted_at"   ` // 删除时间
	FileURL     string      `json:"file_url" orm:"-"`
}
